API Documentation
DxDefinesWrapper.h
1 // DxDefinesWrapper.h
3 //
5 
6 namespace nkGraphics
7 {
8  // D3D11_FILTER
12  enum FILTER
13  {
14  FILTER_MIN_MAG_MIP_POINT = 0,
15  FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
16  FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
17  FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
18  FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
19  FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
20  FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
21  FILTER_MIN_MAG_MIP_LINEAR = 0x15,
22  FILTER_ANISOTROPIC = 0x55,
23  FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
24  FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
25  FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
26  FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
27  FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
28  FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
29  FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
30  FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
31  FILTER_COMPARISON_ANISOTROPIC = 0xd5,
32  FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100,
33  FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101,
34  FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104,
35  FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105,
36  FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110,
37  FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111,
38  FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114,
39  FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115,
40  FILTER_MINIMUM_ANISOTROPIC = 0x155,
41  FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180,
42  FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181,
43  FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184,
44  FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185,
45  FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190,
46  FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191,
47  FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194,
48  FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195,
49  FILTER_MAXIMUM_ANISOTROPIC = 0x1d5
50  } ;
51 
52  // D3D11_TEXTURE_ADDRESS_MODE
57  {
58  TEXTURE_ADDRESS_WRAP = 1,
59  TEXTURE_ADDRESS_MIRROR = 2,
60  TEXTURE_ADDRESS_CLAMP = 3,
61  TEXTURE_ADDRESS_BORDER = 4,
62  TEXTURE_ADDRESS_MIRROR_ONCE = 5
63  } ;
64 
65  // D3D11_COMPARISON_FUNC
70  {
71  COMPARISON_NEVER = 1,
72  COMPARISON_LESS = 2,
73  COMPARISON_EQUAL = 3,
74  COMPARISON_LESS_EQUAL = 4,
75  COMPARISON_GREATER = 5,
76  COMPARISON_NOT_EQUAL = 6,
77  COMPARISON_GREATER_EQUAL = 7,
78  COMPARISON_ALWAYS = 8
79  } ;
80 
81  // DXGI_FORMAT
85  enum FORMAT
86  {
87  UNKNOWN_FORMAT = 0,
88  R32G32B32A32_TYPELESS = 1,
89  R32G32B32A32_FLOAT = 2,
90  R32G32B32A32_UINT = 3,
91  R32G32B32A32_SINT = 4,
92  R32G32B32_TYPELESS = 5,
93  R32G32B32_FLOAT = 6,
94  R32G32B32_UINT = 7,
95  R32G32B32_SINT = 8,
96  R16G16B16A16_TYPELESS = 9,
97  R16G16B16A16_FLOAT = 10,
98  R16G16B16A16_UNORM = 11,
99  R16G16B16A16_UINT = 12,
100  R16G16B16A16_SNORM = 13,
101  R16G16B16A16_SINT = 14,
102  R32G32_TYPELESS = 15,
103  R32G32_FLOAT = 16,
104  R32G32_UINT = 17,
105  R32G32_SINT = 18,
106  R32G8X24_TYPELESS = 19,
107  D32_FLOAT_S8X24_UINT = 20,
108  R32_FLOAT_X8X24_TYPELESS = 21,
109  X32_TYPELESS_G8X24_UINT = 22,
110  R10G10B10A2_TYPELESS = 23,
111  R10G10B10A2_UNORM = 24,
112  R10G10B10A2_UINT = 25,
113  R11G11B10_FLOAT = 26,
114  R8G8B8A8_TYPELESS = 27,
115  R8G8B8A8_UNORM = 28,
116  R8G8B8A8_UNORM_SRGB = 29,
117  R8G8B8A8_UINT = 30,
118  R8G8B8A8_SNORM = 31,
119  R8G8B8A8_SINT = 32,
120  R16G16_TYPELESS = 33,
121  R16G16_FLOAT = 34,
122  R16G16_UNORM = 35,
123  R16G16_UINT = 36,
124  R16G16_SNORM = 37,
125  R16G16_SINT = 38,
126  R32_TYPELESS = 39,
127  D32_FLOAT = 40,
128  R32_FLOAT = 41,
129  R32_UINT = 42,
130  R32_SINT = 43,
131  R24G8_TYPELESS = 44,
132  D24_UNORM_S8_UINT = 45,
133  R24_UNORM_X8_TYPELESS = 46,
134  X24_TYPELESS_G8_UINT = 47,
135  R8G8_TYPELESS = 48,
136  R8G8_UNORM = 49,
137  R8G8_UINT = 50,
138  R8G8_SNORM = 51,
139  R8G8_SINT = 52,
140  R16_TYPELESS = 53,
141  R16_FLOAT = 54,
142  D16_UNORM = 55,
143  R16_UNORM = 56,
144  R16_UINT = 57,
145  R16_SNORM = 58,
146  R16_SINT = 59,
147  R8_TYPELESS = 60,
148  R8_UNORM = 61,
149  R8_UINT = 62,
150  R8_SNORM = 63,
151  R8_SINT = 64,
152  A8_UNORM = 65,
153  R1_UNORM = 66,
154  R9G9B9E5_SHAREDEXP = 67,
155  R8G8_B8G8_UNORM = 68,
156  G8R8_G8B8_UNORM = 69,
157  BC1_TYPELESS = 70,
158  BC1_UNORM = 71,
159  BC1_UNORM_SRGB = 72,
160  BC2_TYPELESS = 73,
161  BC2_UNORM = 74,
162  BC2_UNORM_SRGB = 75,
163  BC3_TYPELESS = 76,
164  BC3_UNORM = 77,
165  BC3_UNORM_SRGB = 78,
166  BC4_TYPELESS = 79,
167  BC4_UNORM = 80,
168  BC4_SNORM = 81,
169  BC5_TYPELESS = 82,
170  BC5_UNORM = 83,
171  BC5_SNORM = 84,
172  B5G6R5_UNORM = 85,
173  B5G5R5A1_UNORM = 86,
174  B8G8R8A8_UNORM = 87,
175  B8G8R8X8_UNORM = 88,
176  FORCE_UINT = 0xffffffffUL
177  } ;
178 
179  // D3D11_MAP
183  enum MAP
184  {
185  MAP_READ = 1,
186  MAP_WRITE = 2,
187  MAP_READ_WRITE = 3,
188  MAP_WRITE_DISCARD = 4,
189  MAP_WRITE_NO_OVERWRITE = 5
190  } ;
191 
192  // D3D11_DEPTH_WRITE_MASK
197  {
200  } ;
201 
202  // D3D11_STENCIL_OP
207  {
208  STENCIL_OP_KEEP = 1,
209  STENCIL_OP_ZERO = 2,
210  STENCIL_OP_REPLACE = 3,
211  STENCIL_OP_INCR_SAT = 4,
212  STENCIL_OP_DECR_SAT = 5,
213  STENCIL_OP_INVERT = 6,
214  STENCIL_OP_INCR = 7,
215  STENCIL_OP_DECR = 8
216  } ;
217 
218  // D3D11_DSV_FLAG
222  enum DSV_FLAG
223  {
224  DSV_READ_ONLY_DEPTH = 0x1L,
225  DSV_READ_ONLY_STENCIL = 0x2L
226  } ;
227 
228  // D3D11_DSV_DIMENSION
233  {
234  DSV_DIMENSION_UNKNOWN = 0,
235  DSV_DIMENSION_TEXTURE1D = 1,
236  DSV_DIMENSION_TEXTURE1DARRAY = 2,
237  DSV_DIMENSION_TEXTURE2D = 3,
238  DSV_DIMENSION_TEXTURE2DARRAY = 4,
239  DSV_DIMENSION_TEXTURE2DMS = 5,
240  DSV_DIMENSION_TEXTURE2DMSARRAY = 6
241  } ;
242 
243  // D3D11_RTV_DIMENSION
248  {
249  RTV_DIMENSION_UNKNOWN = 0,
250  RTV_DIMENSION_BUFFER = 1,
251  RTV_DIMENSION_TEXTURE1D = 2,
252  RTV_DIMENSION_TEXTURE1DARRAY = 3,
253  RTV_DIMENSION_TEXTURE2D = 4,
254  RTV_DIMENSION_TEXTURE2DARRAY = 5,
255  RTV_DIMENSION_TEXTURE2DMS = 6,
256  RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
257  RTV_DIMENSION_TEXTURE3D = 8
258  } ;
259 
260  // D3D11_SRV_DIMENSION
265  {
266  SRV_DIMENSION_UNKNOWN = 0,
267  SRV_DIMENSION_BUFFER = 1,
268  SRV_DIMENSION_TEXTURE1D = 2,
269  SRV_DIMENSION_TEXTURE1DARRAY = 3,
270  SRV_DIMENSION_TEXTURE2D = 4,
271  SRV_DIMENSION_TEXTURE2DARRAY = 5,
272  SRV_DIMENSION_TEXTURE2DMS = 6,
273  SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
274  SRV_DIMENSION_TEXTURE3D = 8,
275  SRV_DIMENSION_TEXTURECUBE = 9,
276  SRV_DIMENSION_TEXTURECUBEARRAY = 10,
277  SRV_DIMENSION_BUFFEREX = 11
278  } ;
279 
280  // D3D11_UAV_DIMENSION
285  {
286  UAV_DIMENSION_UNKNOWN = 0,
287  UAV_DIMENSION_BUFFER = 1,
288  UAV_DIMENSION_TEXTURE1D = 2,
289  UAV_DIMENSION_TEXTURE1DARRAY = 3,
290  UAV_DIMENSION_TEXTURE2D = 4,
291  UAV_DIMENSION_TEXTURE2DARRAY = 5,
292  UAV_DIMENSION_TEXTURE3D = 8
293  } ;
294 
295  // D3D11_BUFFEREX_SRV_FLAG
300  {
301  BUFFEREX_SRV_FLAG_RAW = 0x1
302  } ;
303 
304  // D3D11_BUFFER_UAV_FLAG
309  {
310  BUFFER_UAV_FLAG_RAW = 0x1,
311  BUFFER_UAV_FLAG_APPEND = 0x2,
312  BUFFER_UAV_FLAG_COUNTER = 0x4
313  } ;
314 
315  // D3D11_BLEND
319  enum BLEND
320  {
321  BLEND_ZERO = 1,
322  BLEND_ONE = 2,
323  BLEND_SRC_COLOR = 3,
324  BLEND_INV_SRC_COLOR = 4,
325  BLEND_SRC_ALPHA = 5,
326  BLEND_INV_SRC_ALPHA = 6,
327  BLEND_DEST_ALPHA = 7,
328  BLEND_INV_DEST_ALPHA = 8,
329  BLEND_DEST_COLOR = 9,
330  BLEND_INV_DEST_COLOR = 10,
331  BLEND_SRC_ALPHA_SAT = 11,
332  BLEND_BLEND_FACTOR = 14,
333  BLEND_INV_BLEND_FACTOR = 15,
334  BLEND_SRC1_COLOR = 16,
335  BLEND_INV_SRC1_COLOR = 17,
336  BLEND_SRC1_ALPHA = 18,
337  BLEND_INV_SRC1_ALPHA = 19
338  } ;
339 
340  // D3D11_BLEND_OP
344  enum BLEND_OP
345  {
346  BLEND_OP_ADD = 1,
347  BLEND_OP_SUBTRACT = 2,
348  BLEND_OP_REV_SUBTRACT = 3,
349  BLEND_OP_MIN = 4,
350  BLEND_OP_MAX = 5
351  } ;
352 
353  // D3D11_COLOR_WRITE_ENABLE
358  {
359  COLOR_WRITE_ENABLE_RED = 1,
360  COLOR_WRITE_ENABLE_GREEN = 2,
361  COLOR_WRITE_ENABLE_BLUE = 4,
362  COLOR_WRITE_ENABLE_ALPHA = 8,
363  COLOR_WRITE_ENABLE_ALL = (((COLOR_WRITE_ENABLE_RED | COLOR_WRITE_ENABLE_GREEN) | COLOR_WRITE_ENABLE_BLUE) | COLOR_WRITE_ENABLE_ALPHA)
364  } ;
365 
366  // D3D11_FILL_MODE
371  {
372  FILL_WIREFRAME = 2,
373  FILL_SOLID = 3
374  } ;
375 
376  // D3D11_CULL_MODE
381  {
382  CULL_NONE = 1,
383  CULL_FRONT = 2,
384  CULL_BACK = 3
385  } ;
386 
387  // Custom enum : type de shader concerne
392  {
393  VERTEX_SHADER = 0,
394  HULL_SHADER,
395  DOMAIN_SHADER,
396  GEOMETRY_SHADER,
397  PIXEL_SHADER,
398  COMPUTE_SHADER,
399  RAYTRACING_SHADER,
400  UNKNOWN_SHADER
401  } ;
402 
403  // Custom enum : les semantiques
408  {
409  // Per vertex
410  POSITION_0 = 0,
411  POSITION_1,
412  POSITION_2,
413  POSITION_3,
414  POSITION_4,
415  NORMAL_0 = POSITION_0 + 8,
416  NORMAL_1,
417  NORMAL_2,
418  NORMAL_3,
419  NORMAL_4,
420  UV_0 = NORMAL_0 + 8,
421  UV_1,
422  UV_2,
423  UV_3,
424  UV_4,
425  COLOR_0 = UV_0 + 8,
426  COLOR_1,
427  COLOR_2,
428  COLOR_3,
429  COLOR_4,
430  TANGENT_0 = COLOR_0 + 8,
431  TANGENT_1,
432  TANGENT_2,
433  TANGENT_3,
434  TANGENT_4,
435  BINORMAL_0 = TANGENT_0 + 8,
436  BINORMAL_1,
437  BINORMAL_2,
438  BINORMAL_3,
439  BINORMAL_4,
440  // Vertex data
441  SV_VERTEX_ID = BINORMAL_0 + 8,
442  // Instance
443  WORLDMAT_0 = SV_VERTEX_ID + 1,
444  WORLDMAT_1,
445  WORLDMAT_2,
446  WORLDMAT_3,
447  WORLDMAT_4,
448  // Offset pour les output semantics
449  OUTPUT_SEMANTIC_OFFSET = WORLDMAT_0 + 16,
450  // Maximum bound
451  MAXIMUM_SEMANTIC_INDEX = OUTPUT_SEMANTIC_OFFSET * 2
452  } ;
453 
458  {
459  // Constant buffer
460  CONSTANT_BUFFER_0 = 0,
461  CONSTANT_BUFFER_1,
462  CONSTANT_BUFFER_2,
463  CONSTANT_BUFFER_3,
464  CONSTANT_BUFFER_4,
465  CONSTANT_BUFFER_5,
466  CONSTANT_BUFFER_6,
467  CONSTANT_BUFFER_7,
468  CONSTANT_BUFFER_8,
469  CONSTANT_BUFFER_9,
470  CONSTANT_BUFFER_10,
471  CONSTANT_BUFFER_11,
472  CONSTANT_BUFFER_12,
473  CONSTANT_BUFFER_13,
474  CONSTANT_BUFFER_14,
475  CONSTANT_BUFFER_15,
476  CONSTANT_BUFFER_16,
477  CONSTANT_BUFFER_17,
478  CONSTANT_BUFFER_18,
479  // Shader resource
480  SHADER_RESOURCE_0,
481  SHADER_RESOURCE_1,
482  SHADER_RESOURCE_2,
483  SHADER_RESOURCE_3,
484  SHADER_RESOURCE_4,
485  SHADER_RESOURCE_5,
486  SHADER_RESOURCE_6,
487  SHADER_RESOURCE_7,
488  SHADER_RESOURCE_8,
489  SHADER_RESOURCE_9,
490  SHADER_RESOURCE_10,
491  SHADER_RESOURCE_11,
492  SHADER_RESOURCE_12,
493  SHADER_RESOURCE_13,
494  SHADER_RESOURCE_14,
495  SHADER_RESOURCE_15,
496  SHADER_RESOURCE_16,
497  SHADER_RESOURCE_17,
498  SHADER_RESOURCE_18,
499  // UAV
500  UAV_RESOURCE_0,
501  UAV_RESOURCE_1,
502  UAV_RESOURCE_2,
503  UAV_RESOURCE_3,
504  UAV_RESOURCE_4,
505  UAV_RESOURCE_5,
506  UAV_RESOURCE_6,
507  UAV_RESOURCE_7,
508  UAV_RESOURCE_8,
509  UAV_RESOURCE_9,
510  UAV_RESOURCE_10,
511  UAV_RESOURCE_11,
512  UAV_RESOURCE_12,
513  UAV_RESOURCE_13,
514  UAV_RESOURCE_14,
515  UAV_RESOURCE_15,
516  UAV_RESOURCE_16,
517  UAV_RESOURCE_17,
518  UAV_RESOURCE_18,
519  // Sampler
520  SAMPLER_0,
521  SAMPLER_1,
522  SAMPLER_2,
523  SAMPLER_3,
524  SAMPLER_4,
525  SAMPLER_5,
526  SAMPLER_6
527  } ;
528 
533  {
534  PROFILE_UNKNOWN = 0,
535  PROFILE_SM_5_0,
536  PROFILE_SM_5_1,
537  PROFILE_SM_6_0
538  } ;
539 }
nkGraphics::CULL_MODE
CULL_MODE
Available culling modes.
Definition: DxDefinesWrapper.h:381
nkGraphics::DEPTH_WRITE_MASK_ALL
@ DEPTH_WRITE_MASK_ALL
Turns on depth writes.
Definition: DxDefinesWrapper.h:199
nkGraphics::BLEND_OP
BLEND_OP
Available blending operations.
Definition: DxDefinesWrapper.h:345
nkGraphics::SHADER_TYPE
SHADER_TYPE
Available shader types.
Definition: DxDefinesWrapper.h:392
nkGraphics::BUFFEREX_SRV_FLAG
BUFFEREX_SRV_FLAG
Available buffer ex shader resource views flags.
Definition: DxDefinesWrapper.h:300
nkGraphics::DSV_DIMENSION
DSV_DIMENSION
Available depth and stencil view dimensions.
Definition: DxDefinesWrapper.h:233
nkGraphics::DSV_FLAG
DSV_FLAG
Available depth and stencil view flags.
Definition: DxDefinesWrapper.h:223
nkGraphics::SHADER_RESOURCE_SLOT
SHADER_RESOURCE_SLOT
Available resources slots.
Definition: DxDefinesWrapper.h:458
nkGraphics::DEPTH_WRITE_MASK
DEPTH_WRITE_MASK
Available depth write masks.
Definition: DxDefinesWrapper.h:197
nkGraphics::COLOR_WRITE_ENABLE
COLOR_WRITE_ENABLE
Available color write masks.
Definition: DxDefinesWrapper.h:358
nkGraphics::BLEND
BLEND
Available blending types.
Definition: DxDefinesWrapper.h:320
nkGraphics::MAP
MAP
Available mapping request types.
Definition: DxDefinesWrapper.h:184
nkGraphics::BUFFER_UAV_FLAG
BUFFER_UAV_FLAG
Available unordered access views flags.
Definition: DxDefinesWrapper.h:309
nkGraphics::UAV_DIMENSION
UAV_DIMENSION
Available unordered access views dimensions.
Definition: DxDefinesWrapper.h:285
nkGraphics::DEPTH_WRITE_MASK_ZERO
@ DEPTH_WRITE_MASK_ZERO
Turns off depth writes.
Definition: DxDefinesWrapper.h:198
nkGraphics::TEXTURE_ADDRESS_MODE
TEXTURE_ADDRESS_MODE
Available texture addressing modes available for samplers.
Definition: DxDefinesWrapper.h:57
nkGraphics::FILTER
FILTER
Available filters available for samplers.
Definition: DxDefinesWrapper.h:13
nkGraphics::SHADER_SEMANTIC
SHADER_SEMANTIC
Available shader semantics.
Definition: DxDefinesWrapper.h:408
nkGraphics::COMPARISON_FUNC
COMPARISON_FUNC
Available comparison functions.
Definition: DxDefinesWrapper.h:70
nkGraphics::STENCIL_OP
STENCIL_OP
Available stencil operations.
Definition: DxDefinesWrapper.h:207
nkGraphics::FORMAT
FORMAT
Available formats for resources.
Definition: DxDefinesWrapper.h:86
nkGraphics::FILL_MODE
FILL_MODE
Available filling mode during rasterization.
Definition: DxDefinesWrapper.h:371
nkGraphics::PROGRAM_COMPILATION_PROFILE
PROGRAM_COMPILATION_PROFILE
Available program compilation profiles.
Definition: DxDefinesWrapper.h:533
nkGraphics
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
nkGraphics::SRV_DIMENSION
SRV_DIMENSION
Available shader resource views dimensions.
Definition: DxDefinesWrapper.h:265
nkGraphics::RTV_DIMENSION
RTV_DIMENSION
Available render target view dimensions.
Definition: DxDefinesWrapper.h:248